A Scalable and Oblivious Atomicity Assertion
نویسندگان
چکیده
This paper presents SOAR: the first oblivious atomicity assertion with polynomial complexity. SOAR enables to check atomicity of a single-writer multi-reader register implementation. The basic idea underlying the low overhead induced by SOAR lies in greedily checking, in a backward manner, specific points of an execution where register operations could be linearized, rather than exploring all possible precedence relations among these. We illustrate the use of SOAR by implementing it in +CAL. The performance of the resulting automatic verification outperforms comparable approaches by more than an order of magnitude already in executions with only 6 read/write operations. This difference increases to 3-4 orders of magnitude in the “negative” scenario, i.e., when checking some nonatomic execution, with only 5 operations. For example, checking atomicity of every possible execution of a single-writer single-reader (SWSR) register with at most 2 write and 3 read operations with the state of the art oblivious assertion takes more than 58 hours to complete, whereas SOAR takes just 9 seconds.
منابع مشابه
Scalable Database Logging for Multicores
Modern databases, guaranteeing atomicity and durability, store transaction logs in a volatile, central log buffer and then flush the log buffer to non-volatile storage by the write-ahead logging principle. Buffering logs in central log store has recently faced a severe multicore scalability problem, and log flushing has been challenged by synchronous I/O delay. We have designed and implemented ...
متن کاملRelativistic Causal Ordering - A Memory Model for Scalable Concurrent Data Structures
High-performance programs and systems require concurrency to take full advantage of available hardware. However, the available concurrent programming models force a difficult choice, between simple models such as mutual exclusion that produce little to no concurrency, or complex models such as Read-Copy Update that can scale to all available resources. Simple concurrent programming models enfor...
متن کاملA Global Atomicity Primitive
This paper describes a novel mechanism that supports a global atomicity primitive. In distributed systems, it is important that concurrent access to shared data items does not violate some pre-de ned notion of consistency. A global atomicity primitive is a simple programming paradigm for controlling access to shared data, that guarantees to preserve consistency (provided individual processes do...
متن کاملScalable Implementations of MPI Atomicity for Concurrent Overlapping I/O
For concurrent I/O operations, atomicity defines the results in the overlapping file regions simultaneously read/written by requesting processes. Atomicity has been well studied at the file system level, such as POSIX standard. In this paper, we investigate the problems arising from the implementation of MPI atomicity for concurrent overlapping write access and provide two programming solutions...
متن کاملFast and Scalable Mutual Exclusion
We present an N -process algorithm for mutual exclusion under read/write atomicity that has O(1) time complexity in the absence of contention and (logN) time complexity under contention, where \time" is measured by counting remote memory references. This is the rst such algorithm to achieve these time complexity bounds. Our algorithm is obtained by combining a new \fast-path" mechanism with an ...
متن کامل